package com.jiaqiang.chatgpt.domain.images;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 图片枚举配置
 */
public class ImageEnum {

    @Getter
    @AllArgsConstructor
    public enum Size {
        size_256_256("256x256"),
        size_512_512("512x512"),
        size_1024_1024("1024x1024"),
        size_1024_1972("1024x1792"),
        size_1972_1024("1792x1024")
        ;
        private final String code;
    }

    @Getter
    @AllArgsConstructor
    public enum ResponseFormat {
        URL("url"),
        B64_JSON("b64_json"),
        ;
        private final String code;
    }

    @Getter
    @AllArgsConstructor
    public enum Model {
        DALL_E_2("dall-e-2"),
        DALL_E_3("dall-e-3"),
        ;
        private final String code;
    }

    @Getter
    @AllArgsConstructor
    public enum Style {
        // 自然 -> 自然使模型生成更自然、不太真实的图像。默认为“生动”
        NATURAL("natural"),
        // 生动 -> 生动使模型倾向于生成超真实和戏剧性的图像
        VIVID("vivid"),
        ;
        private final String value;
    }

    /**
     * 生成的图像的质量。“hd”创建的图像具有更精细的细节和更高的图像一致性。默认为“标准”。
     */
    @Getter
    @AllArgsConstructor
    public enum Quantity {
        HD("hd"),
        STANDARD("standard")
        ;
        private final String value;
    }

}
